﻿var IdVendedor;
$(document).ready(main);
function main() {
    ejecutarPorDefault();
    $("#FechaInicioB").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaFinB").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaRegistro").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#buscarPersonaR").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
    $("#buscarVendedorR").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
    $("#buscarVendedorB").button({
        icons: {
            primary: "ui-icon-search"
        },
        text: false
    });
    $("#Buscar").show();
    $("#modificar").click(mostrarFormBusqueda);
    $("#eliminar").click(mostrarFormBusqueda);
    $("#botonCancelar").click(menuPropiedad);
    $("#exportar").click(mostrarFormBusqueda);

    $("#botonBuscarB").click(buscarVenta);
    $("#botonCancelarB").click(menuPropiedad);

    $("#botonBuscarPersonaR").click(buscarPropiedadPersona);
    $("#botonCancelarPersonaR").click(mostrarFormRegistro);

    $("#botonBuscarVendedorR").click(buscarVentaVendedor);
    $("#botonCancelarVendedorR").click(mostrarFormRegistro);

    $("#botonBuscarVendedor").click(buscarVentaVendedor);
    $("#botonCancelarVendedor").click(mostrarFormBusqueda);
    $("#botonModificarB").hide();
    $("#botonEliminarB").hide();
    ejecutarPorDafaultRegVendedor();
    $("#RegTbxIdPersona").hide();
    $("#RegTbxIdVendedor").hide();
    $("#Estado").hide();
    $("#TipoInmueble").hide();

    $("#botonesSeleccion").hide();
}
function permite(elEvento, permitidos) {
    // Variables que definen los caracteres permitidos
    var numeros = "0123456789";
    var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
    var hora = "0123456789:";
    var numeros_caracteres = numeros + caracteres;
    var teclas_especiales = [8, 37, 39, 46];
    // 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha


    // Seleccionar los caracteres a partir del parámetro de la función
    switch (permitidos) {
        case 'num':
            permitidos = numeros;
            break;
        case 'car':
            permitidos = caracteres;
            break;
        case 'num_car':
            permitidos = numeros_caracteres;
            break;
        case 'hora':
            permitidos = hora;
            break;
    }

    // Obtener la tecla pulsada 
    var evento = elEvento || window.event;
    var codigoCaracter = evento.charCode || evento.keyCode;
    var caracter = String.fromCharCode(codigoCaracter);

    // Comprobar si la tecla pulsada es alguna de las teclas especiales
    // (teclas de borrado y flechas horizontales)
    var tecla_especial = false;
    for (var i in teclas_especiales) {
        if (codigoCaracter == teclas_especiales[i]) {
            tecla_especial = true;
            break;
        }
    }

    // Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
    // o si es una tecla especial
    return permitidos.indexOf(caracter) != -1 || tecla_especial;
}
function mostrarFormRegistro() {
    $("#registro").show("slow");
    $("#Buscar").hide();
}
function mostrarFormBusqueda() {
    $("#Buscar").show("slow");
    $("#registro").hide();
}

function menuPropiedad() {
    window.history.back();
}

function buscarVenta() {
    var enviar = {
        //IdPropiedad: $("#RegTbxIdVendedor").val(),
        IdVendedor: IdVendedor,
        FechaInicio: $("#FechaInicioB").val(),
        FechaFin: $("#FechaFinB").val()
    }

    var jsonData = JSON.stringify(enviar);
    //alert("antes del ajax");
    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarVenta",
        beforeSend: esperarLista(),
        success: llegadaLista
    });
    //alert("despues del ajax");
}
function esperarLista() {
    //alert("esperarLista....");
}
function llegadaLista(data) {
    //alert("aun no reconoce la lista propiedad")
    //alert("llega ala llegada lista")
    var lista = data.listaVenta; //si se cambia esto cambia elerror
    //alert("llega a reconocer la lista propiedad")
    var escritor = "";
    if ((lista + "").length > 0) {
        //alert("entro pq la lista esta llena");
        escritor += "<table>" +
                    "<thead>" +
                    "<tr>" +
                    "<th></th>" +
//			         "<th>IdPropiedad			</th>" +
//                    "<th>FechaRegistro 		</th>" +
//                    "<th>MontaVenta			</th>" +
//                    "<th>Comision				</th>" +
//                    "<th>FechaVentConcretada	</th>" +
//                    "<th>IdCliente			</th>" +
//                    "<th>Estado				</th>" +
        			"<th>IdPropiedad			</th>" +
                    "<th>NombreVendedor 		</th>" +
                    "<th>NombreCliente			</th>" +
                    "<th>MontoVenta				</th>" +
                    "<th>FechaRegistro      	</th>" +
                    "<th>FechaVentConcretada    </th>" +
                    "<th>Estado				    </th>" +

                    "</tr></thead>";
        escritor += '<tbody id="resultados">';
        //alert("llegue hasta aqui?");
        $.each(lista, function (i, item) {
            escritor += "<tr>";
            //se puede poner otros botones

            escritor += '<td><input id="RadioButton1" name="R1" type="radio" value="2" style="width:30px;" /></td>';
//            escritor += '<td>' + item.IdPropiedad+ '</td>';
//            escritor += '<td>' + item.FechaRegistro + '</td>';
//            escritor += '<td>' + item.MontaVenta+ '</td>';
//            escritor += '<td>' + item.Comision+ '</td>';
//            escritor += '<td>' + item.FechaVentConcretada+ '</td>';
//            escritor += '<td>' + item.IdCliente+ '</td>';
//            escritor += '<td>' + item.Estado+ '</td>';
            escritor += '<td>' + item.IdPropiedad + '</td>';
            escritor += '<td>' + item.NombreVendedor + '</td>';
            escritor += '<td>' + item.NombreCliente + '</td>';
            escritor += '<td>' + item.MontoVenta + '</td>';
            escritor += '<td>' + item.FechaRegistro + '</td>';
            escritor += '<td>' + item.FechaVentConcretada + '</td>';
            escritor += '<td>' + item.Estado + '</td>';
            escritor += "</tr>";
        });

//                        case 0:
//                    campo0 = $(this).text();
//                    break;
//                case 1:
//                    tid_propiedad = $(this).text();
//                    break;
//                case 2:
//                    tfecha_registro = $(this).text();
//                    break;
//                case 3:
//                    tmonto_venta = $(this).text();
//                    break;
//                case 4:
//                    tcomision = $(this).text();
//                    break;
//                case 5:
//                    tfecha_venta_concretada = $(this).text();
//                    break;
//                case 6:
//                    tid_cliente = $(this).text();
//                    break;
//                case 7:
//                    testado = $(this).text();
//                    break;
        escritor += "</tbody>";
        escritor += "</table>";

        $("#botonModificarB").show();
        $("#botonEliminarB").show();


        $("#botonEliminarB").click(eliminarVenta);
        //$("#botonExportarB").click(exportarPropiedad);
        //alert("llega al boton exporta");
        $("#tablaDinamica").html(escritor);

        $("#botonesSeleccion").show("slow");
        if ((lista + "").length > 0) {
            //alert("hola");

            $("#holderBusqueda").jPages({//id del div de la paginacion
                containerID: "resultados", //cuerpo es el id del tbody de mi tabla
                perPage: 10, // numero de filas por pagina
                delay: 20,
                startPage: 1, // pagina que se visualizara en la pantalla
                midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
                animation: "flipInY"
            });

        }

    } else {
        //alert("entro pq la lista esta vacio");
        escritor = "<p>No se encontró ninguna coincidencia</p>";
        $("#botonModificarB").hide();
        $("#botonEliminarB").hide();
        $("#tablaDinamica").html(escritor);
        $("#holderBusqueda").hide();

    }

}
function ejecutarPorDefault() {
    var id_propiedadB = $("#id_propiedadB"),                     //1
            direccionB = $("#direccionB"),                           //2
            preciobaseB = $("#preciobaseB"),                       //3    
            areaTotalB = $("#areaTotalB"),                           //4
            nroDormitoriosB = $("#nroDormitoriosB"),                 //5
            nroBanosB = $("#nroBanosB"),                             //6
            tipoInmuebleB = $("#tipoInmuebleB"),                     //7
            estadoB = $("#estadoB"),
            fechaRegistroB = $("#fechaRegistroB"),                   //8
            id_distritoB = $("#id_distritoB"),                       //9
            id_vendedorB = $("#id_vendedorB"),                       //10
            Nro_Documento_vendedorB = $("#Nro_Documento_vendedorB"), //11
            Id_DuenoB = $("#Id_DuenoB"),                             //12
            allFields = $([]).add(id_propiedadB).add(direccionB).add(preciobaseB).add(areaTotalB).add(nroDormitoriosB).add(nroBanosB).add(tipoInmuebleB).add(estadoB).add(fechaRegistroB).add(id_distritoB).add(id_vendedorB).add(Nro_Documento_vendedorB).add(Id_DuenoB),
            tips = $(".validateTips");
    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#dialog-form").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    var enviar = {
                        IdPropiedad: document.getElementById("id_propiedadB").value,
                        NombreVendedor: document.getElementById("nombre_vendedorB").value,
                        NombreCliente: document.getElementById("nombre_clienteB").value,
                        MontoVenta: document.getElementById("monto_ventaB").value,
                        FechaRegistro: document.getElementById("fecha_registroB").value,
                        FechaVentConcretada: document.getElementById("fecha_venta_concretadaB").value,
                        Estado: document.getElementById("estadoB").value
                    }
                    var jsonData = JSON.stringify(enviar);
                    $.ajax({
                        type: "POST",
                        data: jsonData,
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        url: "modificarVenta",
                        beforeSend: esperarModificar(),
                        success: llegadaModificar
                    });
                }
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });
    $("#botonModificarB").click(function () {
        ponerValoresACampos();
    });
}
function ejecutarPorDafaultRegVendedor() {//falta verificar
    var nombre_vendedorB = $("#nombre_vendedor"), apellido_vendedorB = $("#apellido_vendedor"),
            allFields = $([]).add(nombre_vendedorB),
            allFields = allFields.add(apellido_vendedorB),
            tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }

    $("#dialog-formRegVend").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                if ($("input:radio[name='RVenta']").is(":checked")) 
    {
                var bValid = true;
                allFields.removeClass("ui-state-error");
                if (bValid) {
                    var RegTbxIdVendedor, RegTbxIdVendedorV;
                    $("input:radio[name='RVenta']:checked").parents("tr").children("td").each(function (index2) {
                        switch (index2) {
                            case 1:
                                //RegTbxIdVendedor = $(this).text();
                                IdVendedor = $(this).text();
                                break;
                            case 2:
                                RegTbxIdVendedorV = $(this).text();
                                break;
                            case 3:
                                RegTbxIdVendedorV = RegTbxIdVendedorV + " " + $(this).text();
                                break;
                        }
                    })

                    //alert(idMantenible);
                    document.getElementById("RegTbxIdVendedor").value = RegTbxIdVendedor;
                    document.getElementById("RegTbxIdVendedorV").value = RegTbxIdVendedorV;
                    //cargarMantenibles();
                    $(this).dialog("close");
                }
            }
            else {
                alert("Debe seleccionar una fila");
            } 
        },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#buscarVendedorB").click(function () {
        //ponerValoresACampos();
        //document.getElementById("nombresB").value = "hola";
        $("#dialog-formRegVend").dialog("open");
    });

}
function buscarPropiedadPersona() {
    var enviar = {
        Nombres: $("#nombre_persona").attr("value"),
        Apellidos: $("#apellido_persona").attr("value")
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarPropiedadPersona",
        beforeSend: esperarListaPersona(),
        success: llegadaListaPersona
    });
    $("#tablaDinamicaPersona").show();
    //$("#botonesSeleccion").show();
}
function esperarListaPersona() {}
function llegadaListaPersona(data) {
    var lista = data.listaPropiedad; //si se cambia esto cambia elerror
    //alert("llegadaListaPersona");
    if ((lista + "").length > 0) {
        var escritor = "";

        escritor += "<table><thead><tr><th></th><th>IdPersona</th><th>Nombres</th><th>Apellido</th><th>NroDocumentoPersona</th></tr></thead>";

        escritor += '<tbody id="resultadosPersona">';
        //alert("llegue hasta aqui?");
        $.each(lista, function (i, item) {
            escritor += "<tr>";
            //se puede poner otros botones

            escritor += '<td><input id="RadioButton1" name="R1" type="radio" value="2" style="width:30px;" /></td>';
            escritor += '<td>' + item.IdPersona + '</td>';
            escritor += '<td>' + item.Nombres + '</td>';
            escritor += '<td>' + item.Apellidos + '</td>';
            escritor += '<td>' + item.NroDocumentoPersona + '</td>';
            escritor += "</tr>";
        });
        escritor += "</tbody>";

        escritor += "</table>";
        //$("#NavPosicionBPers").show();
        $("#tablaDinamicaPersona").html(escritor);
        //PARTE EXCLUSIVA PARA LA PAGINACION
        //setearValores('resultadosPersona', 3);
        //init();
        //showPageNav('pager', 'NavPosicionBPers');
        //showPage(1);
        $("#holderRPPer").jPages({//id del div de la paginacion
            containerID: "resultadosPersona", //cuerpo es el id del tbody de mi tabla
            perPage: 10, // numero de filas por pagina
            delay: 20,
            startPage: 1, // pagina que se visualizara en la pantalla
            midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
            animation: "flipInY"
        });

    } else {

        escritor = "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaPersona").html(escritor);
        $("#holderRPPer").hide();

    }
}
function buscarVentaVendedor() {
    var enviar = {
        nombres: $("#nombre_vendedor").attr("value"),
        apellidos: $("#apellido_vendedor").attr("value"),
        id_vendedor: sessionStorage.getItem("idPersona"),
        IdCargo: sessionStorage.getItem("cargo")
    }
    var jsonData = JSON.stringify(enviar);
    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarVentaVendedor",
        beforeSend: esperarListaVendedor(),
        success: llegadaListaVendedor
    });
    $("#tablaDinamicaVendedor").show();
    //$("#botonesSeleccion").show();
}
function esperarListaVendedor() {}
function llegadaListaVendedor(data) {
    var lista = data.listaVenta; //si se cambia esto cambia elerror
    if ((lista + "").length > 0) {
        var escritor = "";
        escritor += "<table><thead><tr><th></th><th style=\"display:none\">IdPersona</th><th>Nombres</th><th>Apellido</th><th>NroDocumentoPersona</th></tr></thead>";
        escritor += '<tbody  id="resultadosVendedor">';
        $.each(lista, function (i, item) {
            escritor += "<tr>";
            escritor += '<td><input id="RadioButton1" name="RVenta" type="radio" value="2" style="width:30px;" /></td>';
            escritor += '<td style=\"display:none\">' + item.IdPersona + '</td>';
            escritor += '<td>' + item.nombres + '</td>';
            escritor += '<td>' + item.apellidos + '</td>';
            escritor += '<td>' + item.NroDocumentoPersona + '</td>';
            escritor += "</tr>";
        });
        escritor += "</tbody>";
        escritor += "</table>";
        $("#NavPosicionBVend").show();
        $("#tablaDinamicaVendedor").html(escritor);
        $("#holderRPVen").jPages({//id del div de la paginacion
            containerID: "resultadosVendedor", //cuerpo es el id del tbody de mi tabla
            perPage: 10, // numero de filas por pagina
            delay: 20,
            startPage: 1, // pagina que se visualizara en la pantalla
            midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
            animation: "flipInY"
        });
    } else {
        escritor = "<p>No se encontró ninguna coincidencia</p>";
        $("#tablaDinamicaVendedor").html(escritor);
        $("#holderPbVen").hide();
    }
}
function ponerValoresACampos() {
    if ($("input:radio[name='R1']").is(":checked")) 
    {
        $("#dialog-form").dialog("open");
        if ($("input:radio[name='R1']:checked")) 
        {
        var campo0,
        tid_propiedad,
        tnombre_vendedor,
        tnombre_cliente,
        tmonto_venta,
        tfecha_registro,
        tfecha_venta_concretada,
        testado;
        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index) {
               switch (index) {
                    case 0:
                        campo0 = $(this).text();
                        break;
                    case 1:
                        tid_propiedad = $(this).text();
                        break;
                    case 2:
                        tnombre_vendedor = $(this).text();
                        break;
                    case 3:
                        tnombre_cliente = $(this).text();
                        break;
                    case 4:
                        tmonto_venta = $(this).text();
                        break;
                    case 5:
                        tfecha_registro = $(this).text();
                        break;
                    case 6:
                        tfecha_venta_concretada = $(this).text();
                        break;
                    case 7:
                        testado = $(this).text();
                        break;
                  }
            document.getElementById("id_propiedadB").value = tid_propiedad;
            document.getElementById("nombre_vendedorB").value = tnombre_vendedor;
            document.getElementById("nombre_clienteB").value = tnombre_cliente;
            document.getElementById("monto_ventaB").value = tmonto_venta;
            document.getElementById("fecha_registroB").value = tfecha_registro;
            document.getElementById("fecha_venta_concretadaB").value = tfecha_venta_concretada;
            document.getElementById("estadoB").value = testado;
              })

        } 
  }
  else 
    {
        alert("Debe seleccionar una fila");
    }
}
function esperarModificar() {
}
function llegadaModificar(data) {

    var lista = data.listaVenta;
    var escritor = "";
    escritor += "<table>" +
                    "<thead>" +
                    "<tr>" +
                    "<th></th>" +
        			"<th>IdPropiedad			</th>" +
                    "<th>NombreVendedor 		</th>" +
                    "<th>NombreCliente			</th>" +
                    "<th>MontoVenta				</th>" +
                    "<th>FechaRegistro      	</th>" +
                    "<th>FechaVentConcretada    </th>" +
                    "<th>Estado				    </th>" +

                    "</tr></thead>";
    escritor += "<tbody>";
    $.each(lista, function (i, item) {
        escritor += "<tr>";
        escritor += '<td><input id="RadioButton1" name="R1" type="radio" value="2" style="width:30px;" /></td>';
        escritor += '<td>' + item.IdPropiedad + '</td>';
        escritor += '<td>' + item.NombreVendedor + '</td>';
        escritor += '<td>' + item.NombreCliente + '</td>';
        escritor += '<td>' + item.MontoVenta + '</td>';
        escritor += '<td>' + item.FechaRegistro + '</td>';
        escritor += '<td>' + item.FechaVentConcretada + '</td>';
        escritor += '<td>' + item.Estado + '</td>';
        escritor += "</tr>";
        escritor += "</tr>";
    });
    escritor += "</toby>";
    escritor += "</table>";

    $("#tablaDinamica").html(escritor);

    $("#botonesSeleccion").show();

    alert("Se modifico Satisfactoriamente");
    $("#dialog-form").dialog("close");

}
function eliminarVenta() {
    if ($("input:radio[name='R1']").is(":checked")) {
        var tid_propiedad, campo0;
        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
            switch (index2) {
                case 0:
                    campo0 = $(this).text();
                    break;
                case 1:
                    tid_propiedad = $(this).text();
                    break;
            }
        })

        var question = confirm("Desea eliminar el objeto seleccionado");
        //alert(tid_cita);
        //alert(id_citaB);
        if (question != 0) {
            var enviar = {

                IdPropiedad: tid_propiedad

            }
            //alert(enviar.id_citaB);
            var jsonData = JSON.stringify(enviar);

            $.ajax({
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "eliminarVenta",
                beforeSend: esperarEliminar(),
                success: llegadaEliminar
            });
        }
        //alert(id_citaB);
    }
    else {
        alert("Debe seleccionar una fila");
    }

}
function esperarEliminar() {
}
function llegadaEliminar(data) {
    //alert(data.me);
    buscarVenta();
}

//paginacion
$(function () {
    /* initiate the plugin */
    $("#holder2").jPages({//id del div de la paginacion
        containerID: "cuerpo", //cuerpo es el id del tbody de mi tabla
        perPage: 10, // numero de filas por pagina
        delay: 20,
        startPage: 1, // pagina que se visualizara en la pantalla
        midRange: 3, // rango de numeros de pagina q se muestran en el div de paginacion, aqui es dond aparecen los puntos suspensivos: 1,2,3...10
        animation: "flipInY"
    });
});